package neo4j学习;

import org.neo4j.driver.v1.*;

import static org.neo4j.driver.v1.Values.parameters;

/**
 * neo4j允许像传统的数据库那样子使用它,既使用驱动和特定的链接协议通过tcp的方式驱动使用
 * neo4j使用的是bolt的协议方式.驱动本身官网有提供,导入对应版本的坐标即可.
 */
public class 服务器开发 {
    private final Driver Testlink;// 定义全局的链接

    public 服务器开发(String URL,String UserName,String Pswweord) {//构造方法对链接赋值
        Testlink =  GraphDatabase.driver( URL, AuthTokens.basic( UserName, Pswweord) );
    }

    public void addmassage(String message )
    {
        try ( Session session = Testlink.session() )
        {
            String greeting = session.writeTransaction( new TransactionWork<String>()
            {
                @Override
                public String execute( Transaction tx )
                {
                    StatementResult result = tx.run( "CREATE (a:Greeting) " +
                                    "SET a.message = $message " +
                                    "RETURN a.message + ', from node ' + id(a)",
                            parameters( "message", message ) );
                    return result.single().get( 0 ).asString();
                }
            } );
            System.out.println( greeting );
        }
    }

    public static void main(String[] args){
       服务器开发 greeter = new 服务器开发( "bolt://119.29.162.191:7687", "neo4j", "123456");
        greeter.addmassage( "hello, world" );

    }
}
